Apparatus and method for presenting thematic maps

ABSTRACT

The invention concerns an apparatus and a method for a personal device. The device comprises at least one processor with at least one processing core, at least one display, at least one sensor, at least one memory including a computer program code. The apparatus determine the location of the apparatus by means of a sensor providing location information to said at least one processing core and transmits a query to a thematic map database server. The apparatus is then updated with thematic maps related to the location by downloading thematic map data and storing the thematic map data in a memory. The user is presented on a display in a first display mode with least one downloaded thematic map as one of a suggested activity. A selected activity is initiated and displayed to the user in a first display mode performance-related information relating to physical performance of the user, then a first power-save mode may be entered by switching from the first display mode to a second display mode which displays to the user at least the time and a thematic map with reduced functionality relating to the activity. A second power-save mode may be entered by putting processing core in a hibernating mode and entering a third display mode, where a clock unit updates the display in predefined time intervals at least with the time and at least one item of pre-calculated information.

RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 16/377,267 filed on Apr. 8, 2019, which is acontinuation-in-part of U.S. patent application Ser. No. 15/365,972filed on Dec. 1, 2016, which claims priority from both the Finnishpatent application No. 20155906 filed on Dec. 1, 2015 and the Britishpatent application No. 1521192.3 filed on Dec. 1, 2015, and U.S. patentapplication Ser. No. 15/784,234 filed on Oct. 16, 2017, which claimspriority from both the Finnish patent application No. 20165790 filed onOct. 17, 2016 and the British patent application No. 1617575.4 filed onOct. 17, 2016. The subject matter of these is incorporated by referencein their entirety.

FIELD OF INVENTION

The present invention in general relates, for example, to deviceusability in multi-core or multi-chip embedded solutions.

BACKGROUND OF INVENTION

Embedded devices generally comprise objects that contain an embeddedcomputing system, which may be enclosed by the object. The embeddedcomputer system may be designed with a specific use in mind, or theembedded computer system may be at least in part general-purpose in thesense that a user may be enabled to install software in it. An embeddedcomputer system may be based on a microcontroller or microprocessor CPU,for example.

Embedded devices may comprise one or more processors, user interfacesand displays, such that a user may interact with the device using theuser interface. The user interface may comprise buttons, for example. Anembedded device may comprise a connectivity function configured tocommunicate with a communications network, such as, for example, awireless communications network. The embedded device may be enabled toreceive from such a communications network information relating to, forexample, a current time and current time zone.

More complex embedded devices, such as cellular telephones, may allow auser to install applications into a memory, such as, for example, asolid-state memory, comprised in the device. Embedded devices arefrequently resource-constrained when compared to desktop or laptopcomputers. For example, memory capacity may be more limited than indesktop or laptop computers, processor computational capacity may belower and energy may be available from a battery. The battery, which maybe small, may be rechargeable.

Conserving battery power is a key task in designing embedded devices. Alower current usage enables longer time intervals in-between batterycharging. For example, smartphones benefit greatly when they can survivean entire day before needing recharging, since users are thereby enabledto recharge their phones overnight, and enjoy uninterrupted use duringthe day.

Battery resources may be conserved by throttling a processor clockfrequency between a maximum clock frequency and a lower clock frequency,for example one half of the maximum clock frequency. Another way toconserve battery power is to cause a display of an embedded device toswitch itself off then the device is not used, since displaying contenton a display consumes energy in order to cause the display to emit lightthat humans can see.

SUMMARY OF THE INVENTION

The invention is defined by the features of the independent claims. Somespecific embodiments are defined in the dependent claims.

According to a first aspect of the present invention, there is providedan apparatus, such as a personal device, comprising at least oneprocessor with at least one processing core, at least one display, atleast one sensor, at least one memory including a computer program code,the at least one memory and the computer program code being configuredto, with the at least one processing core, cause the apparatus at leastto:

-   -   determine the location of the apparatus by means of a sensor        providing location information to said at least one processing        core;    -   transmit from said apparatus a query to a thematic map database        server, the query comprising an indication of the current        location of the apparatus;    -   update said apparatus with thematic maps related to said        location from said server by downloading thematic map data and        storing the thematic map data in said at least one memory of        said apparatus;    -   present to a user of said apparatus on a display in a first        display mode on said at least one display at least one        downloaded thematic map as one of a suggested activity;    -   selecting an activity session based on at least one of the        following criteria: user selection input, a pre-recorded user        preference, user activity history, intensity of activities in        said location, special activities in said location, time of the        day, time of the year, the location of said activity or a second        location adjacent to said present location, and performing in a        sequence:

-   a) initiating a selected activity and displaying to the user by a    first processing core in said first display mode performance-related    information relating to physical performance of said user in said    activity;

-   b) entering a first power-save mode by switching from said first    display mode to a second display mode displaying to the user at    least the time and a thematic map with reduced functionality    relating to said activity,

-   c) entering a second power-save mode by putting said at least one    processing core in a hibernating mode; and

-   d) entering a third display mode where a clock unit updates said    display in predefined time intervals at least with the time and at    least one item of pre-calculated information selected from the    following: a static thematic map relating to said activity and the    current time, date, moon phase, tide, sun position.

In a second aspect of the invention, a method is provided for forpresenting information to a user of an apparatus, such as a personaldevice, said device comprising at least one processor having at least onprocessing core, at least one display, at least one sensor and at leastone memory including computer program code, said method comprising thesteps of:

-   -   determining the location of the apparatus by means of a sensor        providing location information to said at least one processing        core;    -   transmitting from said apparatus a query to a thematic map        database server, the query comprising an indication of the        current location of the apparatus;    -   updating said apparatus with thematic maps related to said        location from said server by downloading thematic map data and        storing the thematic map data in said at least one memory of        said apparatus;    -   presenting to the user in a first display mode on said at least        one display at least one downloaded thematic map as one of a        suggested activity;    -   selecting an activity session based on at least one of the        following criteria: user selection input, a pre-recorded user        preference, user activity history, intensity of activities in        said location, special activities in said location, time of the        day, time of the year, the location of said activity or a second        location adjacent to said present location, and performing in a        sequence:

-   a) initiating a selected activity and displaying to the user in said    first display mode performance-related information relating to    physical performance of said user in said activity;

-   b) entering a first power-save mode by switching from said first    display mode to a second display mode displaying to the user at    least the time and a thematic map with reduced functionality    relating to said activity,

-   c) entering a second power-save mode by putting said at least one    processing core in a hibernating mode; and

-   d) entering a third display mode where a clock unit updates said    display in predefined time intervals at least with the time and at    least one item of pre-calculated information selected from the    following: a static thematic map relating to said activity and the    current time, date, moon phase, tide, sun position.

In some embodiments, at least two processing cores are provided, whereina selected activity is initiated by a first processing core in saidfirst display mode, said first power-save mode is entered by puttingsaid first processing core in a hibernating mode and by switching tosaid second display mode using a second processing core, and said secondpower-save mode is entered by putting said second processing core in ahibernating mode.

In some embodiments, the clock unit is a Real Time Clock (RTC) unitwhich updates said display in said second power-save mode in predefinedtime intervals with reduced thematic maps stored in said at least onememory of the apparatus, wherein said reduced thematic map to be shownis selected based on the current time as registered by said RTC unit

Various embodiments of the first aspect may comprise at least onefeature from the following bulleted list:

-   -   the performed sequence in order a) to c) is reversed in order c)        to a) based on at least one of the following criteria: user        selection input or acceleration data input from an acceleration        sensor in said apparatus indicating a display reading posture of        said user;    -   the apparatus is configured to present to the user as one        activity type a selection of updated thematic heatmaps created        for different sports activities in said location;    -   the apparatus is configured to present to the user as one        activity type a selection of updated thematic heatmaps created        for different sports activities in second locations outside but        adjacent to said present location;    -   the apparatus is configured to automatically update thematic        maps related to said location from said thematic map database        server when the apparatus is being charged and is connected to a        wireless network with coverage in said present location;    -   the updated thematic maps are stored in said at least one memory        of said apparatus for the offline use of said heatmaps in said        activity sessions;    -   the thematic maps with reduced functionality are pre-calculated        by said first processing core and stored in said at least one        memory of said apparatus to be displayed to the user in said        second display mode by said second processing core; and    -   the thematic maps with reduced functionality are pre-calculated        by said second processing core and stored in said at least one        memory of said apparatus to be displayed to the user in said        second display mode by said second processing core.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a system in accordance with at least someembodiments of the present invention;

FIG. 1B illustrates a system in accordance with at least someembodiments of the present invention;

FIG. 2 illustrates a first example apparatus capable of supporting atleast some embodiments of the present invention;

FIG. 3 illustrates a second example apparatus capable of supporting atleast some embodiments of the present invention;

FIG. 4 illustrates signalling in accordance with at least someembodiments of the present invention;

FIG. 5 is a first flow chart of a first method in accordance with atleast some embodiments of the present invention, and

FIG. 6 is a state transition diagram in accordance with at least someembodiments of the present invention;

FIG. 7A illustrates an example user interface in accordance with atleast some embodiments of the present invention;

FIG. 7B illustrates an example user interface in accordance with atleast some embodiments of the present invention;

FIG. 8 is a flow graph of a method in accordance with at least someembodiments of the present invention;

FIG. 9 is a flow graph of a method in accordance with at least someembodiments of the present invention;

FIG. 10 shows a an exemplary hardware configuration which is able tosupport at least some embodiments of the invention;

FIG. 11 is a flow graph of a method in accordance with at least someembodiments of the present invention.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

A thematic map database, for example a heat map, may be compiled tocover a geographic area. Users may engage in activity sessions while inthe geographic area. Activity types of such activity sessions mayinclude jogging, swimming and cycling, for example. When a user wishesto engage in an activity session of his own, his device may determine aroute for this activity session based at least in part on the thematicmap database. Determining the route may comprise designing the route,optionally based partly on user settings, based on where other usershave engaged in activity sessions of the same type in the past. Forexample, a jogging route may be determined based, at least partly, onindications where other users have jogged in the past. Routedetermination may be partly based on further considerations as well, aswill be laid out below.

FIG. 1A illustrates a system in accordance with at least someembodiments of the present invention. The system comprises device 110,which may comprise, for example, a smart watch, digital watch,smartphone, phablet device, tablet device, or another type of suitabledevice. Device 110 comprises a display, which may comprise a touchscreendisplay, for example. The display may be limited in size. Device 110 maybe powered, for example, by a rechargeable battery. An example of alimited-size display is a display worn on a wrist.

Device 110 may be communicatively coupled with a communications network.For example, in FIG. 1A device 110 is coupled, via wireless link 112,with base station 120. Base station 120 may comprise a cellular ornon-cellular base station, wherein a non-cellular base station may bereferred to as an access point. Examples of cellular technologiesinclude wideband code division multiple access, WCDMA, and long termevolution, LTE, while examples of non-cellular technologies includewireless local area network, WLAN, and worldwide interoperability formicrowave access, WiMAX. Base station 120 may be coupled with networknode 130 via connection 123. Connection 123 may be a wire-lineconnection, for example. Network node 130 may comprise, for example, acontroller or gateway device. Network node 130 may interface, viaconnection 134, with network 140, which may comprise, for example, theInternet or a corporate network. Network 140 may be coupled with furthernetworks via connection 141. In some embodiments, device 110 is notconfigured to couple with base station 120.

Device 110 may be configured to receive, from satellite constellation150, satellite positioning information via satellite link 151. Thesatellite constellation may comprise, for example the global positioningsystem, GPS, or the Galileo constellation. Satellite constellation 150may comprise more than one satellite, although only one satellite isillustrated in FIG. 1A for the same of clarity. Likewise, receiving thepositioning information over satellite link 151 may comprise receivingdata from more than one satellite.

Alternatively or additionally to receiving data from a satelliteconstellation, device 110 may obtain positioning information byinteracting with a network in which base station 120 is comprised. Forexample, cellular networks may employ various ways to position a device,such as trilateration, multilateration or positioning based on anidentity of a base station with which attachment is possible or ongoing.Likewise a non-cellular base station, or access point, may know its ownlocation and provide it to device 110, enabling device 110 to positionitself within communication range of this access point.

Device 110 may be configured to obtain a current time from satelliteconstellation 150, base station 120 or by requesting it from a user, forexample. Once device 110 has the current time and an estimate of itslocation, device 110 may consult a look-up table, for example, todetermine a time remaining until sunset or sunrise, for example. Device110 may likewise gain knowledge of the time of year.

Network 140 may be coupled to a database server 160 via a connection161, or the further network connection 141. When device 110 apparatushas determined the present location of itself it may transmit a query todatabase server 160 acting as a thematic map database server. The querymay comprise an indication of the current location of the apparatusobtained by, for example, a global positioning system as explainedabove.

Updated thematic map data related to the present location of the device110 may then be downloaded from the server 160 over network connections161 or 141 and stored in a memory of the device 110.

The device may be configured to present to the user a selection ofupdated thematic maps as heatmaps created for different sportsactivities in said location. The updated heatmaps thus stored in thememory of the device 110 may be used offline in activity sessions.

Device 110 may be configured to provide an activity session. An activitysession may be associated with an activity type. Examples of activitytypes include rowing, paddling, cycling, jogging, walking, hunting andparagliding. In a simplest form, an activity session may comprise device110 displaying a map of the surroundings, and a route on the map thatrelates to the activity session. Device 110 may be configured todisplay, on the route, an indication where along the route the user iscurrently located, enabling the user to see the place along the routewhere his jog, for example, is at the moment progressing.

According to some embodiments, the device 110 may be configured topresent to the user a selection of updated thematic maps as heatmapscreated for different sports activities in second locations outside butadjacent to said present location. Some activities preferred by theuser, such as cycling for example, may involve moving long distancesand/or for a lengthy time. In the planning of such activities it may bebeneficial to have heatmaps also covering locations nearby the presentone.

In some embodiments the apparatus may be configured to automaticallyupdate thematic maps from the server 160 when the apparatus is beingcharged with a charging device 170 and is connected to a wirelessnetwork 112.

According to some embodiments, the device 110 may first be able todetermine the present location of the device, to transmit a query to athematic map database server, the query comprising an indication of thecurrent location of the device, and then to update itself with thematicmaps related to its location by downloading thematic map data from theserver and store the thematic map data in the memory of the device 110.Then, the device may present to the user on the display in a firstdisplay mode a selection of downloaded thematic maps as suggestedactivity types. The selection may be based on at least one of thecriteria of a pre-recorded user preference, user activity history,intensity of activities in said location, special activities in saidlocation, time of the day, time of the year, or a second locationadjacent to said present location. In response to a user selectioninput, the device 110 may then initiate an activity session of one ofthe activity being selected, and display a thematic map of the activityin a second display mode.

Processing heatmaps, sensor information, displays and other hardwarerequired for tracking the whereabouts and physical performance of aperson is a power-consuming task. From a battery performance point ofview, it is important to minimize the energy consumption of the device110. Therefore, a first display mode has been envisaged, where allrelevant data and features required for the user to perform searching,browsing and a selection of activities, as well as using any otherfeatures offered by the device. This requires much battery power, butonce the activity selection is made and initiated, the device 110 mayenter a low-power mode focusing only on processing data which isessential for the activity in question. Such a low-power mode mayinvolve the use of a second display mode, where for example, resolutionis reduced, colours are not displayed, map display is simplified and/orsensors are shut off and their corresponding information is suppressedon the display.

According to some embodiments, the apparatus comprises at least twoprocessing cores, at least one display with at least two display modes.A first processing core causes the apparatus to determine the presentlocation of the apparatus, transmit from the apparatus a query to athematic map database server, and to update the apparatus with thematicmaps related to said location from said server by downloading thematicmap data and storing the thematic map data in at least one memory of theapparatus. It also presents to the user on the display in a firstdisplay mode a selection of downloaded thematic maps as suggestedactivity types, where the activity types are based on at least one ofthe following criteria: a pre-recorded user preference, user activityhistory, intensity of activities in said location, special activities insaid location, time of the day, time of the year, or a second locationadjacent to said present location. In response to a user selectioninput, an activity session is initiated and a thematic map of theselected activity is displayed in a second display mode by a secondprocessing core.

In some embodiments, updated thematic heatmaps may be created fordifferent sports activities also in second locations outside, butadjacent to the present location. This may be beneficial if theactivity, such as cycling, takes place over considerable distances. Thedevice 110 may be configured to automatically update thematic mapsrelated to its location from a thematic map database server anytime whenthe apparatus is being charged and is connected to a wireless networkwith coverage of its present location.

In some embodiments, the updated thematic maps are stored in a memory ofthe device 110 for offline use. Thus a stored thematic map of anactivity session that is to be initiated may be displayed directly in asecond display mode.

An activity session in device 110 may enhance a utility a user canobtain from the activity, for example, where the activity involvesmovement outdoors, the activity session may provide a recording of theactivity session. An activity session in device 110 may, in someembodiments, provide the user with contextual information during theactivity session. Such contextual information may comprise, for example,locally relevant weather information, received via base station 120, forexample. Such contextual information may comprise at least one of thefollowing: a rain warning, a temperature warning, an indication of timeremaining before sunset, an indication of a nearby service that isrelevant to the activity, a security warning, an indication of nearbyusers and an indication of a nearby location where several other usershave taken photographs. Where the contextual information comprises asecurity warning, the warning may comprise a security route, determinedin a way that enables the user to avoid danger. For example, in case ofa chemical leak, the security route may comprise a route that leadsindoors or to public transport. The device 110 may determine a securityroute, or the device 110 may receive the security route, at least inpart, from a network. The security route may be determined usingexisting roads, pathways and other transit routes that are known to theentity determining the security route. Transit routes may be known froma public mapping service, for example.

A recording may comprise information on at least one of the following: aroute taken during the activity session, a metabolic rate or metaboliceffect of the activity session, a time the activity session lasted, aquantity of energy consumed during the activity session, a soundrecording obtained during the activity session and an elevation mapalong the length of the route taken during the activity session. A routemay be determined based on positioning information, for example.Metabolic effect and consumed energy may be determined, at least partly,based on information concerning the user that device 110 has access to.A recording may be stored in device 110, an auxiliary device, or in aserver or data cloud storage service. A recording stored in a server orcloud may be encrypted prior to transmission to the server or cloud, toprotect privacy of the user.

An activity session may have access to a backhaul communications link toprovide indications relating to the ongoing activity. For example,search and rescue services may be given access to information on joggersin a certain area of a forest, to enable their rescue if a chemicalleak, for example, makes the forest unsafe for humans. In someembodiments, routes relating to activity sessions are provided to acloud service for storage when the activity sessions start, to enablesearching for missing persons along the route the persons were planningto take.

The user may initiate an activity session by interacting with a userinterface of device 110, for example. Where device 110 has s small formfactor, the user interface may be implemented over a limited userinteraction capability, such as, for example, a small screen, smalltouchscreen, and/or limited number of push buttons. A limited userinteraction capability may make it arduous for the user to performcomplicated interactions with device 110, which makes it less likely theuser will choose to interact with device 110. Therefore, it is ofinterest to simplify the interaction between device 110 and the user, tomake it easier for the user to complete the interaction, and thus morelikely the user will perform the interaction.

Device 110 may provide to the thematic map database 160 an indicationrelating to the activity session, to enhance the thematic map databasefurther. Such indications may be anonymized prior to sending to thedatabase, both to protect the user's privacy and/or to comply with locallegislation. Such indications may comprise, for example, information ona determined route and a corresponding activity type.

In general, a thematic map database 160 may associate at least one formof data with a geographic location. For example, the thematic mapdatabase may associate past indications of activity sessions withgeographic locations, for example to enable mapping areas where activitysessions of a given activity type have been performed. Areas may bemapped as to the intensity, or frequency, of past indications ofactivity session and type. Thus a first area of a lake may be associatedwith frequent rowing, and another area of the same lake with lessfrequent, but still non-zero, rowing. Such a frequency may be referredto as intensity, and the thematic map database may, in general,associate activity type intensities with locations. Alternatively tointensities, the thematic map database may simply associate, whether anactivity session of a given activity type has in the past been performedin a geographic location. Alternatively to intensities, the thematic mapdatabase may indicate any specialities of activities in the location.Additionally or alternatively, a traffic density may be associated withthe geographic locations. Traffic density may comprise pedestrian orvehicular traffic density, for example. Walking or jogging may be lesspleasant, or less healthy, in areas with a high vehicular trafficdensity due to exhaust fumes, wherefore a route relating to an activitysession with such type may be determined in a way that avoids suchhigh-traffic density areas. Likewise, additionally or alternatively,crime density may be mapped, and employed in route determination toavoid high-crime areas. Avalanche risk density, obtained frommeteorological services, may similarly be used to route ski activitysessions in safe areas. In some embodiments, places where many usershave taken photographs may be used in routing, such that routes aredetermined to visit frequently photographed locations, since suchlocations are likely to be beautiful and inspiring.

In some embodiments, the user may have indicated in user settings thathe wishes to engage in a certain type of activity session, wherein suchindications may be taken into account when determining the route for theactivity session. The settings may be taken into account, for example,by designing the route so that performing the activity session along theroute causes an increase in energy consumption in the user that isapproximately in line with what the user has requested in the settings.Alternatively or additionally, a cardiovascular effect of the activitysession may be tuned to be in line with a user setting by designing theroute in a suitable way. Likewise the user may specify a desired effecton oxygen consumption, EPOC effect and/or a recovery time length afterthe activity session. EPOC refers to excess post-exercise oxygenconsumption, sometimes known colloquially as afterburn.

A route may be determined to be able to be interrupted. For example,where the activity comprises cycling, the route may come close to thestarting and ending location close to a midpoint of the route, to enablethe user to cut the route short. The user may specify in user settingshe wishes to engage in an interruptable route, or interruptability maybe a default setting that is attempted to comply with, where possible.

A level of physical exertion, in terms of energy consumption, oxygenconsumption, cardiovascular effect, EPOC or recovery time length, theroute causes in the user may be modified by determining elevationchanges along the route. Where the user wishes a light activity session,the route may be determined as relatively flat, and where the userwishes for a strenuous activity session, the route may be determined ina way that it has more elevation changes. Using the thematic mapdatabase in connection with elevation data in this sense may comprise,for example, determining the route based on elevation changes to matchthe desired strenuousness, in an area which the thematic map databaseindicates that activity sessions of a corresponding type have beenconducted in the past. In general, the user settings may be employed indetermining the route after a suitable area for the route has beenidentifier using the thematic map database.

A time of year and/or a time of day may be employed in either thethematic map database or in the determining of the route. For example,the thematic map database 160 may comprise data collected at differenttimes of year, for example a same location may be associated withfrequent jogging in summertime and frequent skiing during the wintermonths. Thus, the database may return a jogging route in the location incase the query is made in the summer, and the database may return askiing route in the location in case the query is made in the winter.Alternatively or in addition, device 110 may select activity typesconsistent with the time of year, or time of day, from the set ofactivity types returned from the database when determining the predicteduser activity type. Device 110 may perform this task in embodimentswhere a thematic map database doesn't collect statistics separatelyaccording to time of year or day, for example. As a specific example,local residents may consider a certain location as safe during the daybut unsafe after dark. In such a situation, a user requesting a joggingroute could be routed to this location if the request is made in thedaytime, but routed elsewhere if the request is made after dark.

In general, the thematic map database 160 may be comprised in a serveror cloud device, or it may be downloaded, at least in part, to device110 or an auxiliary device, for offline use. An auxiliary device isdescribed below in connection with FIG. 1B. While described hereinprimarily as a route determination method performed by device 110, invarious embodiments of the invention the route determination may takeplace in another device, such as the auxiliary device or a cloudcomputing device, for example. The user may have an account in a cloudcomputing service, where his information may be stored and he mayrequest for a route to be determined and furnished to his device, suchas, for example, device 110.

Responsive to the user approving, implicitly or explicitly, a suggestedroute, an activity session based on the approved suggested route may beinitiated.

More than one route may be determined, such that at least one of thedetermined routes is presented to the user as a suggested route. Forexample, two routes may be determined that match requirements defined bythe user, and these two routes may then be presented as suggestedroutes, with information concerning each route presented to the user aswell. For example, energy consumption, estimated time to completionand/or length of a route may be presented to assist the user in making aselection. Energy consumption, estimated time to completion and/or othersuitable information may be determined, at least partly, on theelevation information.

Information may be presented also, or alternatively, concerning segmentsof any suggested route, to enable the user to construct his route frominterconnected segments.

In some embodiments, the user needn't explicitly select a suggestedroute, rather, the device may deduce from the way positioninginformation changes, which route the user is following. As a response,any other suggested routes may be removed from the display to reduceclutter. In case the user deviates from the route, the device may noticethis from the positioning information, and responsively determine analternative route for the user, which may again be displayed. Thusmovement of the user may cause, via the positioning information, anapproval of a suggested route and/or a new determination of a newsuggested route in case of deviation from a previously approved route.Such a new suggested route may be determined from the current locationof the device to the same end point as the originally approved route.Such an end point may comprise the start point of the route, or,alternatively, another point input by the user. Remaining time, energyconsumption and/or other information may be presented concerning the newsuggested route.

FIG. 1B illustrates a system in accordance with at least someembodiments of the present invention. Like numbering denotes likestructure as in FIG. 1A. FIG. 1B embodiments comprise an auxiliarydevice 110 x.

Device 110 may be communicatively coupled, for example communicativelypaired, with an auxiliary device 110 x. The communicative coupling, orpairing, is illustrated in FIG. 1A as interface 111, which may bewireless, as illustrated, or wire-line, depending on the embodiment.Auxiliary device 110 x may comprise a smartphone, tablet computer orother computing device, for example. Auxiliary device 110 x may comprisea device that the owner of device 110 uses to consume media, communicateor interact with applications. Auxiliary device 110 x may be furnishedwith a larger display screen than device 110, which may make auxiliarydevice 110 x preferable to the user when a complex interaction with anapplication is needed, as a larger screen enables a more detailedrendering of interaction options. In some embodiments, such as thoseillustrated in FIG. 1A, auxiliary device 110 x is absent.

In some embodiments, where an auxiliary device 100 x is present, device110 is configured to use connectivity capability of auxiliary device 110x. For example, device 110 may access a network via auxiliary device 110x. In these embodiments, device 110 need not be furnished withconnectivity toward base station 120, for example, since device 110 mayaccess network resources via interface 111 and a connection auxiliarydevice 110 x has with base station 120. Such a connection is illustratedin FIG. 1B as connection 112 x. For example, device 110 may comprise asmart watch and auxiliary device 110 x may comprise a smartphone, whichmay have connectivity to cellular and/or non-cellular data networks.Likewise, in some embodiments device 110 may receive satellitepositioning information, or positioning information derived therefrom,via auxiliary device 110 x where device 110 lacks a satellitepositioning receiver of its own. A satellite connection of auxiliarydevice 151 x is illustrated in FIG. 1B as connection 151X.

In some embodiments, device 110 may have some connectivity and beconfigured to use both that and connectivity provided by auxiliarydevice 110 x. For example, device 110 may comprise a satellite receiverenabling device 110 to obtain satellite positioning information directlyfrom satellite constellation 150. Device 110 may then obtain networkconnectivity to base station 120 via auxiliary device 110 x. Forexample, device 110 may transmit a query to the thematic map databasevia auxiliary device 110 x. In some embodiments, device 110 isconfigured to request, and responsively to receive, sensor informationfrom auxiliary device 110 x. Such sensor information may compriseacceleration sensor information, for example. In general, processing,such as route determination and/or communication processing, may bedistributed in a suitable way between device 110, auxiliary device 110 xand/or a cloud computing service.

Similarly as discussed in connection with FIG. 1A, network 140 may becoupled to a thematic map database server 160 via an auxiliary device110 x and a connection 161, for example. Updated thematic map datarelated to the present location of the device 110 may be downloaded fromthe server 160 and stored in a memory of the device 110, or in a memoryof the auxiliary device 110 x. The device 110 may be configured toautomatically update thematic maps from the server 160 when theapparatus is being charged with a charging device 170 and is connectedto a wireless network 112, either directly or via the auxiliary device110 x.

Furnishing an embedded device with two or more processor cores, at leastsome of which are enabled to control the display of the device, makespossible power savings where a less-capable processor core is configuredto toggle a more capable processor core to and from a hibernation state.A hibernation state may comprise that a clock frequency of the morecapable processing core is set to zero, for example. In a hibernationstate, in addition to, or alternatively to, setting the clock frequencyof the more capable processing core to zero, a memory refresh rate ofmemory used by the more capable core may be set to zero. Alternativelyto zero, a low non-zero frequency may be used for the clock frequencyand/or the memory refresh frequency. In some embodiments, a more capableprocessing core may employ a higher-density memory technology, such asdouble data rate, DDR, memory, and a less capable processing core mayemploy a lower-density memory technology, such as static random accessmemory, SRAM, memory. In a hibernation state the hibernated processingcore, or more generally processing unit, may be powered off.Alternatively to a processor core, an entire processor may, in someembodiments, be transitioned to a hibernation state. An advantage ofhibernating an entire processor is that circuitry in the processoroutside the core is also hibernated, further reducing currentconsumption.

Device 110 may comprise two or more processing units. The two or moreprocessing units may each comprise a processing core. Each processingunit may comprise one or multiple uniformal or heterogeneous processorcores and/or different volatile and non-volatile memories. For example,device 110 may comprise a microprocessor with at least one processingcore, and a microcontroller with at least one processing core. Theprocessing cores needn't be of the same type, for example, a processingcore in a microcontroller may have more limited processing capabilityand/or a less capable memory technology than a processing core comprisedin a microprocessor. In some embodiments, a single integrated circuitcomprises two processing cores, a first one of which has lesserprocessing capability and consumes less power, and a second one of whichhas greater processing capability and consumes more power. In general afirst one of the two processing units may have lesser processingcapability and consume less power, and a second one of the twoprocessing units may have greater processing capability and consume morepower. Each of the processing units may be enabled to control thedisplay of device 110. The more capable processing unit may beconfigured to provide a richer visual experience via the display. Theless capable processing unit may be configured to provide a reducedvisual experience via the display. An example of a reduced visualexperience is a reduced colour display mode, as opposed to a rich colourdisplay mode. An another example of a reduced visual experience is onewhich is black-and-white. An example of a richer visual experience isone which uses colours. Colours may be represented with 16 bits or 24bits, for example.

Each of the two processing units may comprise a display interfaceconfigured to communicate toward the display. For example, where theprocessing units comprise a microprocessor and a microcontroller, themicroprocessor may comprise transceiver circuitry coupled to at leastone metallic pin under the microprocessor, the at least one metallic pinbeing electrically coupled to an input interface of a display controldevice. The display control device, which may be comprised in thedisplay, is configured to cause the display to display information independence of electrical signals received in the display control device.Likewise the microcontroller in this example may comprise transceivercircuitry coupled to at least one metallic pin under themicrocontroller, the at least one metallic pin being electricallycoupled to an input interface of a display control device. The displaycontrol device may comprise two input interfaces, one coupled to each ofthe two processing units, or alternatively the display control devicemay comprise a single input interface into which both processing unitsare enabled to provide inputs via their respective display interfaces.Thus a display interface in a processing unit may comprise transceivercircuitry enabling the processing unit to transmit electrical signalstoward the display.

One of the processing units, for example the less capable or the morecapable one, may be configured to control, at least in part, the otherprocessing unit. For example, the less capable processing unit, forexample a less capable processing core, may be enabled to cause the morecapable processing unit, for example a more capable processing core, totransition into and from a hibernating state. These transitions may becaused to occur by signalling via an inter-processing unit interface,such as for example an inter-core interface.

When transitioning into a hibernating state from an active state, thetransitioning processing unit may store its context, at least in part,into a memory, such as for example a pseudostatic random access memory,PSRAM, SRAM, FLASH or ferroelectric RAM, FRAM. The context may comprise,for example, content of registers and/or addressing. When transitioningfrom a hibernated state using a context stored in memory, a processingunit may resume processing faster and/or from a position where theprocessing unit was when it was hibernated. This way, a delayexperienced by a user may be minimised. Alternative terms occasionallyused for context include state and image. In a hibernating state, aclock frequency of the processing unit and/or an associated memory maybe set to zero, meaning the processing unit is powered off and does notconsume energy. Circuitry configured to provide an operating voltage toat least one processing unit may comprise a power management integratedcircuit, PMIC, for example. Since device 110 comprises anotherprocessing unit, the hibernated processing unit may be poweredcompletely off while maintaining usability of device 110.

When transitioning from a hibernated state to an active state, thetransitioning processing unit may have its clock frequency set to anon-zero value. The transitioning processing unit may read a contextfrom a memory, wherein the context may comprise a previously storedcontext, for example a context stored in connection with transitioninginto the hibernated state, or the context may comprise a default stateor context of the processing unit stored into the memory in the factory.The memory may comprise pseudostatic random access memory, SRAM, FLASHand/or FRAM, for example. The memory used by the processing unittransitioning to and from the hibernated state may comprise DDR memory,for example.

With one processing unit in a hibernation state, the non-hibernatedprocessing unit may control device 110. For example, the non-hibernatedprocessing unit may control the display via the display interfacecomprised in the non-hibernated processing unit. For example, where aless capable processing unit has caused a more capable processing unitto transition to the hibernated state, the less capable processing unitmay provide a reduced user experience, for example, via at least inpart, the display. An example of a reduced user experience is a mappingexperience with a reduced visual experience comprising a black-and-whiterendering of the mapping service. The reduced experience may besufficient for the user to obtain a benefit from it, with the advantagethat battery power is conserved by hibernating the more capableprocessing unit. In some embodiments, a more capable processing unit,such as a microprocessor, may consume a milliampere of current when in anon-hibernated low-power state, while a less capable processing unit,such as a microcontroller, may consume only a microampere when in anon-hibernated low-power state. In non-hibernated states currentconsumption of processing units may be modified by setting an operatingclock frequency to a value between a maximum clock frequency and aminimum non-zero clock frequency. In at least some embodiments,processing units, for example less capable processing units, may beconfigurable to power down for short periods, such as 10 or 15microseconds, before being awakened. In the context of this document,this is not referred to as a hibernated state but an active low-powerconfiguration. An average clock frequency calculated over a few suchperiods and the intervening active periods is a positive non-zero value.A more capable processing unit may be enabled to run the Androidoperating system, for example.

Triggering events for causing a processing unit to transition to thehibernated state include a user indicating a non-reduced experience isno longer needed, a communication interface of the processing unit nolonger being needed and device 110 not having been used for apredetermined length of time. An example indication that a non-reducedexperience is no longer needed is where the user deactivates a fullversion of an application, such as for example a mapping application.Triggering events for causing a processing unit to transition from thehibernated state to an active state may include a user indicating anon-reduced experience is needed, a communication interface of theprocessing unit being requested and device 110 being interacted withafter a period of inactivity. Alternatively or additionally, externalevents may be configured as triggering events, such as, for example,events based on sensors comprised in device 110. An example of such anexternal event is a clock-based event which is configured to occur at apreconfigured time of day, such as an alarm clock function, for example.In at least some embodiments, the non-reduced experience comprises useof a graphics mode the non-hibernated processing unit cannot support,but the hibernated processing unit can support. A graphics mode maycomprise a combination of a resolution, colour depth and/or refreshrate, for example.

In some embodiments, a user need or user request for the non-reducedexperience may be predicted. Such predicting may be based at least inpart on a usage pattern of the user, where the user has tended toperform a certain action in the reduced experience before requesting thenon-reduced experience. In this case, responsive to a determination theuser performs the certain action in the reduced experience, thenon-reduced mode may be triggered.

If the processing units reside in separate devices or housings, such asa wrist-top computer and a handheld or fixedly mounted display devicefor example, a bus may be implemented in a wireless fashion by using awireless communication protocol. Radio transceiver units functionallyconnected to their respective processing units may thus perform thefunction of the bus, forming a personal area network, PAN. The wirelesscommunication protocol may be one used for communication betweencomputers, and/or between any remote sensors, such as a Bluetooth LE orthe proprietary ANT+ protocol. These are using direct-sequence spreadspectrum, DSSS, modulation techniques and an adaptive isochronousnetwork configuration, respectively. Enabling descriptions of necessaryhardware for various implementations for wireless links are available,for example, from the Texas Instrument®'s handbook “WirelessConnectivity” which includes IC circuits and related hardwareconfigurations for protocols working in sub-1- and 2.4-GHz frequencybands, such as ANT™, Bluetooth®, Bluetooth® low energy, RFID/NFC,PurePath™ Wireless audio, ZigBee®, IEEE 802.15.4, ZigBee RF4CE, 6LoWPAN,Wi-Fi®.

In connection with hibernation, the PAN may be kept in operation by thenon-hibernated processing unit, such that when hibernation ends, theprocessing unit leaving the hibernated mode may have access to the PANwithout needing to re-establish it.

In some embodiments, microphone data is used in determining, in a firstprocessor, whether to trigger a second processor from hibernation. Thefirst processor may be less capable and consume less energy than thesecond processor. The first processor may comprise a microcontroller andthe second processor may comprise a microprocessor, for example. Themicrophone data may be compared to reference data and/or preprocessed toidentify in the microphone data features enabling determination whethera spoken instructions has been uttered and recorded into the microphonedata. Alternatively or in addition to a spoken instruction, an auditorycontrol signal, such as a fire alarm or beep signal, may be searched inthe microphone data.

Responsive to the spoken instruction and/or auditory control signalbeing detected, by the first processor, in the microphone data, thefirst processor may start the second processor. In some embodiments, thefirst processor starts the second processor into a state that the firstprocessor selects in dependence of which spoken instruction and/orauditory control signal was in the microphone data. Thus, for example,where the spoken instruction identifies a web search engine, the secondprocessor may be started up into a user interface of this particular websearch engine. As a further example, where the auditory control signalis a fire alarm, the second processor may be started into a userinterface of an application that provides emergency guidance to theuser. Selecting the initial state for the second processor already inthe first processor saves time compared to the case where the user orsecond processor itself selects the state.

In cases where a microphone is comprised in the apparatus, themicrophone may in particular be enclosed inside a waterproof casing.While such a casing may prevent high-quality microphone data from beinggenerated, it may allow for microphone quality to be generated that isof sufficient quality for the first processor to determine, whether thespoken instruction and/or auditory control signal is present.

In some embodiments, the first processor is configured to process anotification that arrives in the apparatus, and to decide whether thesecond processor is needed to handle the notification. The notificationmay relate to a multimedia message or incoming video call, for example.The notification may relate to a software update presented to theapparatus, wherein the first processor may cause the second processor toleave the hibernating state to handle the notification. The firstprocessor may select, in dependence of the notification, an initialstate into which the second processor starts from the hibernated state.For a duration of a software update, the second processor may cause thefirst processor to transition into a hibernated state.

In general, an instruction from outside the apparatus may be received inthe apparatus, and the first processor may responsively cause the secondprocessor to leave the hibernation state. The instruction from outsidethe apparatus may comprise, for example, the notification, the spokeninstruction or the auditory control signal.

FIG. 2 illustrates a first example apparatus capable of supporting atleast some embodiments of the present invention. The illustratedapparatus comprises a microcontroller 210 and a microprocessor 220.Microcontroller 210 may comprise, for example, a Silabs EMF32 or aRenesas RL78 microcontroller, or similar. Microprocessor 220 maycomprise, for example, a Qualcomm Snapdragon processor or an ARMCortex-based processor. Microcontroller 210 and microprocessor 220 arein the example of FIG. 2 communicatively coupled with an inter-coreinterface, which may comprise, for example, a serial or a parallelcommunication interface. More generally an interface disposed betweenmicrocontroller 210 and microprocessor 220 may be considered aninter-processing unit interface.

Microcontroller 210 is communicatively coupled, in the illustratedexample, with a buzzer 270, a universal serial bus, USB, interface 280,a pressure sensor 290, an acceleration sensor 2100, a gyroscope 2110, amagnetometer 2120, satellite positioning circuitry 2130, a Bluetoothinterface 2140, user interface buttons 2150 and a touch interface 2160.Pressure sensor 290 may comprise an atmospheric pressure sensor, forexample.

Microprocessor 220 is communicatively coupled with an optional cellularinterface 240, a non-cellular interface 250 and a USB interface 260.Microprocessor 220 is further communicatively coupled, viamicroprocessor display interface 222, with display 230. Microcontroller210 is likewise communicatively coupled, via microcontroller displayinterface 212, with display 230. Microprocessor display interface 222may comprise communication circuitry comprised in microprocessor 220.Microcontroller display interface 212 may comprise communicationcircuitry comprised in microcontroller 210.

Microcontroller 210 may be configured to determine whether triggeringevents occur, wherein responsive to the triggering eventsmicrocontroller 210 may be configured to cause microprocessor 220 totransition into and out of the hibernating state described above. Whenmicroprocessor 220 is in the hibernating state, microcontroller 210 maycontrol display 230 via microcontroller display interface 222.Microcontroller 210 may thus provide, when microprocessor 220 ishibernated, for example, a reduced experience to a user via display 230.

Responsive to a triggering event, microcontroller 210 may causemicroprocessor 220 to transition from the hibernated state to an activestate. For example, where a user indicates, for example via buttons2150, that he wishes to originate a cellular communication connection,microcontroller 210 may cause microprocessor 220 to transition to anactive state since cellular interface 240 is controllable bymicroprocessor 220, but, in the example of FIG. 2, not directly usableby microcontroller 210. In some embodiments, when microprocessor 220 ishibernated, also cellular interface 240 is in a hibernated state.Cellular interface 240 may comprise an electrical interface to acellular transceiver, for example. Cellular interface 240 may comprisecontrol circuitry of a cellular transceiver.

In various embodiments, at least two elements illustrated in FIG. 2 maybe integrated on a same integrated circuit. For example, microprocessor220 and microcontroller 210 may be disposed as processing cores in asame integrated circuit. Where this is the case, for example, cellularinterface 240 may be a cellular interface of this integrated circuit,comprised in this integrated circuit, with cellular interface 240 beingcontrollable by microprocessor 220 but not by microcontroller 210. Inother words, individual hardware features of the integrated circuit maybe controllable by one of microcontroller 210 and microprocessor 220,but not both. On the other hand, some hardware features may becontrollable by either processing unit. For example, USB interface 260and USB interface 280 may be in such an integrated embodiment one andthe same USB interface of the integrated circuit, controllable by eitherprocessing core.

In FIG. 2 are further illustrated memory 2170 and memory 2180.

Memory 2170 is used by microprocessor 220, and may be based on a DDRmemory technology, such as for example DDR2 or DDR3, for example. Memory2180 is used by microcontroller 210, and may be based on SRAMtechnology, for example.

FIG. 3 illustrates a second example apparatus capable of supporting atleast some embodiments of the present invention.

Illustrated is device 300, which may comprise, for example, an embeddeddevice 110 of FIG. 1. Comprised in device 300 is processor 310, whichmay comprise, for example, a single- or multi-core processor wherein asingle-core processor comprises one processing core and a multi-coreprocessor comprises more than one processing core. Processor 310 maycorrespond to the structure illustrated in FIG. 2, with the exception ofdisplay 230, for example. Processor 310 may comprise more than oneprocessor or processing unit. Processor 310 may comprise at least oneapplication-specific integrated circuit, ASIC. Processor 310 maycomprise at least one field-programmable gate array, FPGA. Processor 310may be means for performing method steps in device 300. Processor 310may be configured, at least in part by computer instructions, to performactions.

Device 300 may comprise memory 320. Memory 320 may compriserandom-access memory and/or permanent memory. Memory 320 may comprisevolatile and/or non-volatile memory. Memory 320 may comprise at leastone RAM chip. Memory 320 may comprise magnetic, optical and/orholographic memory, for example. Memory 320 may be at least in partaccessible to processor 310. Memory 320 may be means for storinginformation. Memory 320 may comprise computer instructions thatprocessor 310 is configured to execute. When computer instructionsconfigured to cause processor 310 to perform certain actions are storedin memory 320, and device 300 overall is configured to run under thedirection of processor 310 using computer instructions from memory 320,processor 310 and/or its at least one processing core may be consideredto be configured to perform said certain actions. Memory 320 may be atleast in part comprised in processor 310. Memory 320 may be at least inpart external to device 300 but accessible to device 300.

Device 300 may comprise a transmitter 330. Device 300 may comprise areceiver 340. Transmitter 330 and receiver 340 may be configured totransmit and receive, respectively, information in accordance with atleast one cellular or non-cellular standard. Transmitter 330 maycomprise more than one transmitter. Receiver 340 may comprise more thanone receiver. Transmitter 330 and/or receiver 340 may be configured tooperate in accordance with global system for mobile communication, GSM,wideband code division multiple access, WCDMA, long term evolution, LTE,IS-95, wireless local area network, WLAN, Ethernet and/or worldwideinteroperability for microwave access, WiMAX, standards, for example.Transmitter 330 and/or receiver 340 may be controllable via cellularinterface 240, non-cellular interface 250 and/or USB interface 280 ofFIG. 2, for example.

Device 300 may comprise a near-field communication, NFC, transceiver350. NFC transceiver 350 may support at least one NFC technology, suchas NFC, Bluetooth, Wibree or similar technologies.

Device 300 may comprise user interface, UI, 360. UI 360 may comprise atleast one of a display, a keyboard, a touchscreen, a vibrator arrangedto signal to a user by causing device 300 to vibrate, a speaker and amicrophone. User input to UI 360 may be based on patterns, such as, forexample, where a user shakes device 300 to initiate actions via UI 360.A user may be able to operate device 300 via UI 360, for example toaccept incoming telephone calls, to originate telephone calls or videocalls, to browse the Internet, to manage digital files stored in memory320 or on a cloud accessible via transmitter 330 and receiver 340, orvia NFC transceiver 350, and/or to play games. UI 360 may comprise, forexample, buttons 2150 and display 230 of FIG. 2.

Device 300 may comprise or be arranged to accept a user identity module370. User identity module 370 may comprise, for example, a subscriberidentity module, SIM, card installable in device 300. A user identitymodule 370 may comprise information identifying a subscription of a userof device 300. A user identity module 370 may comprise cryptographicinformation usable to verify the identity of a user of device 300 and/orto facilitate encryption of communicated information and billing of theuser of device 300 for communication effected via device 300.

Processor 310 may be furnished with a transmitter arranged to outputinformation from processor 310, via electrical leads internal to device300, to other devices comprised in device 300. Such a transmitter maycomprise a serial bus transmitter arranged to, for example, outputinformation via at least one electrical lead to memory 320 for storagetherein. Alternatively to a serial bus, the transmitter may comprise aparallel bus transmitter. Likewise processor 310 may comprise a receiverarranged to receive information in processor 310, via electrical leadsinternal to device 300, from other devices comprised in device 300. Sucha receiver may comprise a serial bus receiver arranged to, for example,receive information via at least one electrical lead from receiver 340for processing in processor 310. Alternatively to a serial bus, thereceiver may comprise a parallel bus receiver.

Device 300 may comprise further devices not illustrated in FIG. 3. Forexample, where device 300 comprises a smartphone, it may comprise atleast one digital camera. Some devices 300 may comprise a back-facingcamera and a front-facing camera, wherein the back-facing camera may beintended for digital photography and the front-facing camera for videotelephony. Device 300 may comprise a fingerprint sensor arranged toauthenticate, at least in part, a user of device 300. In someembodiments, device 300 lacks at least one device described above. Forexample, some devices 300 may lack a NFC transceiver 350 and/or useridentity module 370.

Processor 310, memory 320, transmitter 330, receiver 340, NFCtransceiver 350, UI 360 and/or user identity module 370 may beinterconnected by electrical leads internal to device 300 in a multitudeof different ways. For example, each of the aforementioned devices maybe separately connected to a master bus internal to device 300, to allowfor the devices to exchange information. However, as the skilled personwill appreciate, this is only one example and depending on theembodiment various ways of interconnecting at least two of theaforementioned devices may be selected without departing from the scopeof the present invention.

FIG. 4 illustrates signalling in accordance with at least someembodiments of the present invention. On the vertical axes are disposed,from left to right, user interface UI, processing unit PU1, processingunit 2 PU2, and finally display DISP. Time advances from the top towardthe bottom. Processing unit 2 may have higher processing capability, andbe associated with a higher current consumption, than processing unit 1.

In phase 410, processing unit 2, which may comprise a processing core,controls the display. For example, processing unit 2 may run anapplication and provide to the display instructions to displayinformation reflective of the state of the application.

In phase 420, processing unit 1 determines that a triggering eventoccurs, the triggering event being associated with a transition ofprocessing unit 2 from an active state to a hibernated state. Processingunit 1 may determine an occurrence of a triggering event by receivingfrom processing unit 2 an indication that a task performed by processingunit 2 has been completed, for example. As discussed above, thehibernating state may comprise that a clock frequency of processing unit2 is set to zero. Responsive to the determination of phase 420,processing unit 1 assumes control of the display in phase 430, andcauses processing unit 2 to transition to the hibernating state in phase440. Subsequently, in phase 450, processing unit 2 is in the hibernatedstate. When processing unit 2 is in the hibernated state, batteryresources of the device may be depleted at a reduced rate. In someembodiments, phase 430 may start at the same time as phase 440 occurs,or phase 440 may take place before phase 430 starts.

In phase 460, a user interacts with the user interface UI in such a waythat processing unit 1 determines a triggering event to transitionprocessing unit 2 from the hibernated state to an active state. Forexample, the user may trigger a web browser application that requires aconnectivity capability that only processing unit 2 can provide.

Responsively, in phase 470 processing unit 1 causes processing unit 2 towake up from the hibernating state. As a response, processing unit 2 mayread a state from a memory and wake up to this state, and assume controlof the display, which is illustrated as phase 480.

FIG. 5 is a first flow chart of a method involving two processing coresin accordance with at least some embodiments of the present invention.The phases of the illustrated method may be performed in device 110 ofFIG. 1, or in the apparatus of FIG. 2, for example.

Phase 510 comprises generating, by a first processing core, firstcontrol signals. Phase 520 comprises controlling a display by providingthe first control signals to the display via a first display interface.Phase 530 comprises generating, by a second processing core, secondcontrol signals. Phase 540 comprises controlling the display byproviding the second control signals to the display via a second displayinterface. Finally, phase 550 comprises causing the second processingcore to enter and leave a hibernation state based at least partly on adetermination, by the first processing core, concerning an instructionfrom outside the apparatus.

FIG. 6 is a state transition diagram in accordance with at least someembodiments of the present invention.

PU1 corresponds to processing unit 1, for example, a less capableprocessing unit. PU2 corresponds to processing unit 2, for example, amore capable processing unit. These units may be similar to those indiscussed in connection with FIG. 4, for example. In an initial state,the device comprising PU1 and PU2 is in an inactive state, with zerosindicating the states of both PU1 and PU2. PU1 and PU2 are both switchedoff.

Starting from the initial power-off state, first PU1 is powered up,indicated as a “1” in the state of PU1, while PU2 remains in an offstate, denoted by zero. Thus the compound state is “10”, correspondingto a case where PU1 is active and PU2 is not. In this state, the devicemay offer a reduced experience to a user and consume relatively littlecurrent from battery reserves.

In addition to, or alternatively to, a power-off state PU1 and/or PU2may have an intermediate low-power state from which it may betransitioned to an active state faster than from a complete power-offstate. For example, a processing unit may be set to such an intermediatelow-power state before being set to a power-off state. In case theprocessing unit is needed soon afterward, it may be caused to transitionback to the power-up state. If no need for the processing unit isidentified within a preconfigured time, the processing unit may becaused to transition from the intermediate low-power state to apower-off state.

Arrow 610 denotes a transition from state “10” to state “11”, in otherwords, a transition where PU2 is transitioned from the hibernated stateto an active state, for example, a state where its clock frequency isnon-zero. PU1 may cause the transition denoted by arrow 610 to occur,for example, responsive to a triggering event. In state “11”, the devicemay be able to offer a richer experience, at the cost of faster batterypower consumption.

Arrow 620 denotes a transition from state “11” to state “10”, in otherwords, a transition where PU2 is transitioned from an active state tothe hibernated state. PU1 may cause the transition denoted by arrow 620to occur, for example, responsive to a triggering event.

FIG. 7A illustrates an example user interface in accordance with atleast some embodiments of the present invention. The user interface maybe comprised in device 110 of FIG. 1A or FIG. 1B, for example. Display700 is configured to provide a user interface display to the user.Display area 710 provides an application level display to the user. Inapplication level display 710 is comprised a map 720, which may display,for example, terrain and/or elevation information. In the illustratedexample, a hill is displayed in the map 720.

According to some embodiments, the user may be presented with aselection of updated heatmaps created for different sports activities inlocations outside, but adjacent to said present location. Thus thedisplay 700 may show a map 720 with a hill in a neighbouring town,county or borough, for example. The rule of what is within the presentlocation of the device 110 and what is in adjacent location may be setby the boundaries between such areas, if the positioning system usedcontain such data, or simply by a radius form the present location, e.g.10 km.

Some activities preferred by the user, such as cycling for example, mayinvolve moving long distances and/or for a lengthy time. In the planningof such activities it may be beneficial to have heatmaps also coveringlocations nearby the present one.

A start point 730 is illustrated in the user interface, as is a route740, which is indicated with a dashed line. In this example, the routemay be traversed twice to obtain the physical exercise effect the userwants. The route proceeds along a relatively constant elevation aroundthe hill, and when traversed twice provides an opportunity to interruptthe activity session halfway through, as the user passes start point730. To interrupt the session, the user can simply stop at start point730 instead of beginning a second lap along the route. In this examplethe area of map 720 may be indicated in the thematic map database asbeing associated with past activity sessions of a corresponding, orindeed same, activity type as the session the user selects. The routemay be determined, in part, based on mapping information obtained from amapping service, such as a proprietary service, HERE maps or Googlemaps, for example. Elevation information may be obtained from the same,or similar, service.

FIG. 7B illustrates a second example of a user interface in accordancewith at least some embodiments of the present invention. Like numberingdenotes like elements as in FIG. 7A. In FIG. 7B, a route planning viewis presented in application level display area 710. The route planningview displays a route segment network which comprises segment 750 a,segment 750 b, segment 750 c, segment 750 d, segment 750 e, and segment750 f. The user can complete a closed route from and to start point 730via various combinatorial options. For example, a first option comprisessegments 750 a, 750 b, 750 c and 750 d. For example, a second optioncomprises segments 750 a, 750 b, 750 c, in that order, followed bysegments 750 e and 750 a, in that order. The segments may be obtainedbased at least partly on a local map and/or a thematic map database, forexample.

The user may be presented with information concerning route options, forexample for the first option, an estimated energy consumption associatedwith an activity session along the route defined by the first option,and likewise for the second option. The user may, explicitly orimplicitly, select one of the presented options, and along the routedeviate therefrom to use a different set of route segments. For example,a user setting on along the first option, may decide to shorten theactivity session by taking segments 750 e and 750 d back to the startpoint 730. Alternatively, the user may decide to lengthen the session bytaking, in the first option, segment 750 f instead of segment 750 b.

In some embodiments, information is presented separately concerningroute segments, to enable the user to design a route with greaterprecision. For example, an energy consumption associated with segment750a, when used as a route segment in an activity session of a giventype, may be presented. Likewise, other physiological effects, such asEPOC or oxygen consumption, may be presented in addition to, oralternatively to, the energy consumption.

FIG. 8 is a flow graph of a method in accordance with at least someembodiments of the present invention. The phases of the illustratedmethod may be performed in device 110, for example, or in a controldevice configured to control the functioning of device 110, whenimplanted therein, for example.

Phase 810 comprises determining a predicted user activity type based atleast partly on a thematic map database and a current location of anapparatus. Phase 820 comprises presenting, by the apparatus, thepredicted user activity type as a suggested activity type to a firstuser. Finally, phase 830 comprises, responsive to the first userapproving the suggested activity type, initiating an activity session ofthe suggested activity type.

FIG. 9 is a flow graph of a method in accordance with at least someembodiments of the present invention. The phases of the illustratedmethod may be performed in device 110, for example, or in a controldevice configured to control the functioning of device 110, whenimplanted therein, for example.

Phase 900 comprises determining the present location of the apparatus.Phase 910 comprises the action of transmitting from said apparatus aquery to a thematic map database server. The query may comprise anindication of the current location of the apparatus. In phase 920 thedevice 110 is updated with thematic maps related to the location bydownloading thematic map data and storing the thematic map data in amemory of the device. In phase 930 the user is presented in a firstdisplay mode with a selection of local thematic maps as suggestedactivity types. The thematic maps may be selected to be downloaded basedon at least one of the following criteria: a pre-recorded userpreference, user activity history, intensity of activities in saidlocation, special activities in said location, time of the day, time ofthe year, or a second location adjacent to said present location.Finally, in phase 940 and in response to the user approving a suggestedactivity type, an activity session is initiated and displayed in asecond display mode.

In FIG. 10 is shown an exemplary hardware configuration of atwo-processor wristwatch- type device 1000, which is able to support atleast some embodiments of the invention. A high-power firstmicroprocessor or a microcontroller unit (MCU) 1020 comprising a firstprocessing core and a low-power second application processor (AP) or amicrocontroller unit 1030 comprising a second processing core are shown.Alternatively, the two or more processing cores with differentcharacteristics may reside within the same microprocessor 1020. Bothprocessors (or cores) are able to control a device display 1010 and toshow information on the display 1010, as indicated by arrows A and B,respectively. The display 1010 may be a touch-screen display. A sensor,such as a GPS sensor (not shown, see e.g. item 2130 in FIG. 2) provideslocation information to at least one of the processing cores, enablingthe device to determine its location.

During normal operation, when thematic maps, which may be downloadedfrom the server 1070 through a communication interface 1022 of the firstprocessor 1020, of suggested activities is presented to a user on thedisplay 1010, the device 1000 assumes a first display mode controlled bythe first processor 1020. The communication interface 1022 maycorrespond to any or several of the interfaces 240-260 of FIG. 2, forexample. The selection of an activity session may have been based onuser selection input, a pre-recorded user preference, user activityhistory, intensity of activities in said location, special activities insaid location, time of the day, time of the year, or a second locationadjacent to said present location.

The first processor 1020 initiates the selected activity and displays tothe user in the first adisplay mode performance-related informationrelating to physical performance of the user, including sensorinformation relating to position, distance, speed, heart rate etc. Thisfirst activity mode is active for a predetermined time, or ends when,for example, acceleration sensor information indicates that the user isin a steady performance mode, based on cadence, rhythmic movements,heart rate, etc.

The first processor 1020 may then produce a reduced version of thethematic map of a selected activity, or the reduced maps may bedownloaded from the server 1070 on demand. The demand may be based onthe type of the device, the preferences of the user and/or the locationof the user, and the server provides the appropriate selection ofactivities for downloading.

The device 1000 may enter a first power-save mode by determining thelast known context of the user and/or the performance. Having determinedfrom the context what to display in a second display mode, the firstprocessor 1020 may enter a hibernating mode and switch from a firstdisplay mode to a second display mode. In a two-processor embodiment,the second display mode may be controlled by the second processor 1030.In the second display mode, time and other information relating to saidactivity may be shown, such as the location of the user provided by aGPS sensor. With a “reduced” map is here meant a reduced version of athematic map. This may for example mean one or several of the following:less or no colours, lesser display resolution, slower display updates,reduced content, etc.

In some embodiments, where two processors are involved, first and secondpower-save modes may be used. The preferred sequence from a power-savingpoint of view would be to first hibernate the first processing core,which consumes more power. This may be controlled by the low-powersecond processor, for example when there is nothing to left to executefor the first processor. In some alternative embodiments where on onlyone processor is used, only one power-save mode may be used. In bothcases, the final power-save mode involves a complete or almost completeshutdown of any the processing cores in the device, while a clock unit,such as a Real Time Clock (RTC) unit 1060 is used to keep track of thetime. When a motion sensor or a press of button indicates the user islooking at the display, the RTC unit provides a time signal to showtime- related context on the display, such as the time and a reducedthematic map.

Reduced thematic maps may be downloaded from the server 1070, or theymay be produced by the first processor 1020 and stored in its memory1021. In a two-processing core embodiment, the image(s) of the reducedthematic map may be copied (arrow C in FIG. 10) to a memory 1031 of thelow-power second processor 1030, to be shown therefrom in a seconddisplay mode.

As the performance of the user continues on a steady path and there isno indication of the user looking at the display, the device 1000 mayenter a second power-save mode by switching off the second display modeand putting the second processing core 1030 in a hibernating mode.

In a second power-save mode, the only process running in the device maybe the real time clock in the RTC unit 1060. The RTC unit is preferablya separate unit connected to a battery of the device, for example. Theprocessing cores may then be completely shut off. RTC units may also beintegrated in either one of the processors 1020 or 1030, or in both, butwould then require at least some hardware around the processor inquestion to be powered up, with a power consumption of a fewmicroamperes. Which alternative RTC units to use is a matter of designchoice.

In a one-processor embodiment, the transfer of maps internally in thedevice is of course not needed, otherwise a second display mode may beused in the same fashion as with two processors, and the reducedthematic map is then shown from the memory 1021 on the display 1010. Thesingle processor may thus have three levels of operation and powerconsumption: full operation, reduced operation and hibernation (with orwithout an internal RTC clock). During the performance, an accelerationsensor 1040 may continuously sense the movement of the device 1000. Insome embodiments, the processor may be left in a reduced operation mode,if the activity and/or context are deemed to require a fast wakeup ofthe core. Wakeup from a state of hibernation will take longer. Variouspower-saving modes may also be entered when the device 1000 deems theuser is sleeping, for example. Indeed, various sensor inputs and theircombinations may be used for determining the context of the user andselect an appropriate time to enter a particular power-save mode. Suchinput may include the time (e.g. night-time), acceleration sensor input,ambient light, position signals from a GPS sensor, etc.

Reversing the power-saving sequence may be initiated simply by a userpressing a button, or it may be automatic. In some embodiments, forexample, when a vertical move is sensed by a smart acceleration sensor1040, the corresponding sensor signal may have pre-recorded thresholdvalues that when exceeded are interpreted as a raise of the arm in anattempted reading of the display 1010. A power controller 1050 thenpowers up the high-power processor 1020, or the low-power processor1030, depending on the embodiment (one or two processors) and theprevious context or display mode of the device 1000). In order to speedup the wakeup of hibernating processing cores, their power supplies(switched-mode power supply SMPS, for example) may be left on. Anotheralternative embodiment is to switch the SMPS off and connect alow-dropout (LDO) regulator as a fast power source for the hibernatingprocessing core in parallel over the SMPS.

In some embodiments, the RTC unit may also start a processor. Forexample, if a relatively long time has passed since the user last madean attempt to look at the display, the context is difficult to predictand may have changed. The user would then no longer be interested inlooking at a reduced thematic map that probably does not show thecorrect location and/or activity of the user anymore. Instead of justfetching for display a stored thematic map relating to a wrong context,the time delay since the last display action may be used as an indicatorthat the context has probably changed. As the RTC unit reveals this timedelay, the information may be used for example to activate a GPS sensorin order to check the location and start at least a low power processorto update the context of the user, including fetching a thematic mapwhich matches the current location of the user.

The context- dependent images may be fetched from a memory by using aLDO regulator as the power source for a hibernating processor, whichprovides a fast wakeup. After wakeup, transfer of stored images may takeplace directly from an internal memory of the processor or from anexternal memory unit to the display.

Reference is now made to FIG. 11, which shows a flowchart of the mainsteps performed by an apparatus according to the invention. Theapparatus comprises at least two processing cores, at least one displaywith at least two display modes, at least one memory including acomputer program code.

In step 1110, the present location of the apparatus is determined and aquery is transmitted from the apparatus to a thematic map databaseserver for available activity or thematic maps at the current locationof the apparatus.

In step 1120, the apparatus is update with thematic maps related to thecurrent location from the thematic map database server, by downloadingthematic map data and storing the thematic map data in said at least onememory of the apparatus.

At least one downloaded thematic map is presented to a user of theapparatus as a selection of local heatmaps as a suggested activity instep 1130, using a first display mode, as presented by a high-powerfirst processing core. The activity session may be selected based on atleast one of the following criteria: user selection input, apre-recorded user preference, user activity history, intensity ofactivities in said location, special activities in said location, timeof the day, time of the year, or a second location adjacent to saidpresent location.

In step 1140, a selected activity is initiated and displayed to the userin the display mode, containing performance-related information relatingto physical performance of the user in the activity.

Now, in step 1150, a first power-save mode is entered, by putting thefirst processing core in a hibernating mode, and by switching from thefirst display mode to a second display mode. The second display mode maydisplay to the user, using a second low power processing core, the timeand static information relating to said activity. In some embodiments,in predefined time intervals a pre-calculated static thematic maprelating to the activity and the current time is shown. As explained inconnection with

FIG. 10, a graphically reduced thematic map may be used in this seconddisplay mode.

Finally, in step 1160 a second power-save mode is entered by switchingoff the second display mode and putting also the low-power secondprocessing core in a hibernating mode. A third display mode is entered,where a Real Time Clock (RTC) unit is used to keep the time. Pre-storedthematic maps may be shown when requested by a user input or a sensorrequest, showing the predicted location of the user on the map at thattime.

The apparatus may now go stepwise back to the second and/or firstdisplay modes by activating the second and/or first processing coresfrom hibernation. This may be triggered on at least one of the followingcriteria: user selection input, acceleration data input from anacceleration sensor in said apparatus indicating a display readingposture of said user.

It is to be understood that the embodiments of the invention disclosedare not limited to the particular structures, process steps, ormaterials disclosed herein, but are extended to equivalents thereof aswould be recognized by those ordinarily skilled in the relevant arts. Itshould also be understood that terminology employed herein is used forthe purpose of describing particular embodiments only and is notintended to be limiting.

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment of the present invention. Thus, appearancesof the phrases “in one embodiment” or “in an embodiment” in variousplaces throughout this specification are not necessarily all referringto the same embodiment.

As used herein, a plurality of items, structural elements, compositionalelements, and/or materials may be presented in a common list forconvenience. However, these lists should be construed as though eachmember of the list is individually identified as a separate and uniquemember. Thus, no individual member of such list should be construed as ade facto equivalent of any other member of the same list solely based ontheir presentation in a common group without indications to thecontrary. In addition, various embodiments and example of the presentinvention may be referred to herein along with alternatives for thevarious components thereof. It is understood that such embodiments,examples, and alternatives are not to be construed as de factoequivalents of one another, but are to be considered as separate andautonomous representations of the present invention.

Furthermore, described features, structures, or characteristics may becombined in any suitable or technically feasible manner in one or moreembodiments. In the following description, numerous specific details areprovided, such as examples of lengths, widths, shapes, etc., to providea thorough understanding of embodiments of the invention. One skilled inthe relevant art will recognize, however, that the invention can bepracticed without one or more of the specific details, or with othermethods, components, materials, etc. In other instances, well-knownstructures, materials, or operations are not shown or described indetail to avoid obscuring aspects of the invention.

While the forgoing examples are illustrative of the principles of thepresent invention in one or more particular applications, it will beapparent to those of ordinary skill in the art that numerousmodifications in form, usage and details of implementation can be madewithout the exercise of inventive faculty, and without departing fromthe principles and concepts of the invention. Accordingly, it is notintended that the invention be limited, except as by the claims setforth below.

INDUSTRIAL APPLICABILITY

At least some embodiments of the present invention find industrialapplication in enhancing device usability and/or personal safety.

1. An apparatus, such as a personal device, comprising at least oneprocessor with at least one processing core, at least one display, atleast one sensor, at least one memory including a computer program code,the at least one memory and the computer program code being configuredto, with the at least one processing core, cause the apparatus at leastto: determine the location of the apparatus by means of a sensorproviding location information to said at least one processing core;transmit from said apparatus a query to a thematic map database server,the query comprising an indication of the current location of theapparatus; update said apparatus with thematic maps related to saidlocation from said server by downloading thematic map data and storingthe thematic map data in said at least one memory of said apparatus;present to a user of said apparatus on a display in a first display modeon said at least one display at least one downloaded thematic map as oneof a suggested activity; selecting an activity session based on at leastone of the following criteria: user selection input, a pre-recorded userpreference, user activity history, intensity of activities in saidlocation, special activities in said location, time of the day, time ofthe year, the location of said activity or a second location adjacent tosaid present location, and performing in a sequence: a) initiating aselected activity and displaying to the user by a first processing corein said first display mode performance-related information relating tophysical performance of said user in said activity; b) entering a firstpower-save mode by switching from said first display mode to a seconddisplay mode displaying to the user at least the time and a thematic mapwith reduced functionality relating to said activity, c) entering asecond power-save mode by putting said at least one processing core in ahibernating mode; and d) entering a third display mode where a clockunit updates said display in predefined time intervals at least with thetime and at least one item of pre-calculated information selected fromthe following: a static thematic map relating to said activity and thecurrent time, date, moon phase, tide, sun position.
 2. The apparatusaccording to claim 1, comprising at least two processing cores, whereina selected activity is initiated by a first processing core in saidfirst display mode, said first power-save mode is entered by puttingsaid first processing core in a hibernating mode and by switching tosaid second display mode using a second processing core, and said secondpower-save mode is entered by putting said second processing core in ahibernating mode.
 3. The apparatus according to claim 1, wherein saidclock unit is a Real Time Clock (RTC) unit which updates said display insaid second power-save mode in predefined time intervals with reducedthematic maps stored in said at least one memory of the apparatus,wherein said reduced thematic map to be shown is selected based on thecurrent time as registered by said RTC unit.
 4. The apparatus accordingto claim 1, wherein said performed sequence in order a) to c) isreversed in order c) to a) based on at least one of the followingcriteria: user selection input or acceleration data input from anacceleration sensor in said apparatus indicating a display readingposture of said user.
 5. The apparatus according to claim 1, wherein theapparatus is configured to present to the user as one activity type aselection of updated thematic heatmaps created for different sportsactivities in said location.
 6. The apparatus according to claim 1,wherein the apparatus is configured to present to the user as oneactivity type a selection of updated thematic heatmaps created fordifferent sports activities in second locations outside but adjacent tosaid present location.
 7. The apparatus according to claim 1, whereinthe apparatus is configured to automatically update thematic mapsrelated to said location from said thematic map database server when theapparatus is being charged and is connected to a wireless network withcoverage in said present location.
 8. The apparatus according to claim1, wherein the updated thematic maps are stored in said at least onememory of said apparatus for the offline use of said heatmaps in saidactivity sessions.
 9. The apparatus according to claim 1, wherein saidthematic maps with reduced functionality are pre-calculated by saidfirst processing core and stored in said at least one memory of saidapparatus to be displayed to the user in said second display mode bysaid second processing core.
 10. The apparatus according to claim 1,wherein said thematic maps with reduced functionality are pre-calculatedby said second processing core and stored in said at least one memory ofsaid apparatus to be displayed to the user in said second display modeby said second processing core.
 11. A method for presenting informationto a user of an apparatus, such as a personal device, said devicecomprising at least one processor having at least on processing core, atleast one display, at least one sensor and at least one memory includingcomputer program code, said method comprising the steps of: determiningthe location of the apparatus by means of a sensor providing locationinformation to said at least one processing core; transmitting from saidapparatus a query to a thematic map database server, the querycomprising an indication of the current location of the apparatus;updating said apparatus with thematic maps related to said location fromsaid server by downloading thematic map data and storing the thematicmap data in said at least one memory of said apparatus; presenting tothe user in a first display mode on said at least one display at leastone downloaded thematic map as one of a suggested activity; selecting anactivity session based on at least one of the following criteria: userselection input, a pre-recorded user preference, user activity history,intensity of activities in said location, special activities in saidlocation, time of the day, time of the year, the location of saidactivity or a second location adjacent to said present location, andperforming in a sequence: a) initiating a selected activity anddisplaying to the user in said first display mode performance-relatedinformation relating to physical performance of said user in saidactivity; b) entering a first power-save mode by switching from saidfirst display mode to a second display mode displaying to the user atleast the time and a thematic map with reduced functionality relating tosaid activity, c) entering a second power-save mode by putting said atleast one processing core in a hibernating mode; and d) entering a thirddisplay mode where a clock unit updates said display in predefined timeintervals at least with the time and at least one item of pre-calculatedinformation selected from the following: a static thematic map relatingto said activity and the current time, date, moon phase, tide, sunposition.
 12. The method according to claim 11, further comprisingproviding an apparatus comprising at least two processing cores, whereinthe step of initiating a selected activity is performed by a firstprocessing core in said first display mode, the step of entering saidfirst power-save mode is performed by putting said first processing corein a hibernating mode and by switching to said second display mode usinga second processing core, and the step of entering said secondpower-save mode is performed by putting said second processing core in ahibernating mode.
 13. The method according to claim 11, wherein the stepof entering said second power-save mode comprises a further step ofentering a third display mode, where said display is the updated withpredefined time intervals at least with the time with a Real Time Clock(RTC) unit.
 14. The method according to claim 11, including the step ofreversing said sequence performed in order a) to d) in order d) to a)based on at least one of the following criteria: user selection input oracceleration data input from an acceleration sensor in said apparatusindicating a display reading posture of said user.
 15. The methodaccording to claim 11, further comprising the step of pre-calculatingsaid thematic maps with reduced functionality and storing them in saidat least one memory.